Various techniques employed in detecting the position of a movable element in an electrically commutated machine have been satisfactory in general but not completely without problems. More specifically, while the invention finds applicability in linear motors and other types of motors, for example where the movable element may follow a reciprocal parti-circular path, it is particularly well suited to brushless direct current (BLDC) motors. In the past, rotor position in BLDC motors has been detected using devices such as Hall sensors or encoders. If the rotor position is calculated using various motor quantities such as voltage and current, the detection scheme is called “sensorless.” Since the use of sensors adds to the cost of the device, the sensorless method is typically a more desirable implementation. Current sensorless methods utilize a six-step drive which activates two of the three legs of an inverter at any given time while the non-active leg is utilized in calculation of the rotor position. When using drive schemes such as sine wave drive, all legs of the inverter are active during the time the motor is driven. Information relevant to attempts to address these problems can be found in U.S. Pat. No. 6,252,362 B1. However, this reference suffers from the disadvantage of having discontinuities introduced into the drive waveform timed to coincide with back electromagnetic force(BEMF) zero crossings.
It is the general object of the present invention to provide an improved method of detecting the position of the movable element of an electrically commutated machine where the position can be detected with an arbitrary waveform applied to drive the machine without the introduction of discontinuities into the drive waveform.